package org.seven.jrdp.commons.util;

import java.util.UUID;

import org.seven.jrdp.commons.constant.GlobalContants;

public abstract class StringUtils {
	public static String uuid() {
		return UUID.randomUUID().toString().replaceAll("-", "");
	}

	public static String toUTF(String s) {
		try {
			return new String(s.getBytes(GlobalContants.ENCODING_IOS), GlobalContants.ENCODING_UTF);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public static String toISO(String s) {
		try {
			return new String(s.getBytes(GlobalContants.ENCODING_UTF), GlobalContants.ENCODING_IOS);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public static String getString(Object obj) {
		if (obj == null) {
			return "";
		} else {
			return obj.toString();
		}
	}

	public static int compareVersion(String version1, String version2) {
		if (version1.equals(version2)) {
			return 0;
		}
		String[] version1Array = version1.split("\\.");
		String[] version2Array = version2.split("\\.");
		int index = 0;
		// 获取最小长度值
		int minLen = Math.min(version1Array.length, version2Array.length);
		int diff = 0;
		// 循环判断每位的大小
		while (index < minLen && (diff = Integer.parseInt(version1Array[index]) - Integer.parseInt(version2Array[index])) == 0) {
			index++;
		}
		if (diff == 0) {
			// 如果位数不一致，比较多余位数
			for (int i = index; i < version1Array.length; i++) {
				if (Integer.parseInt(version1Array[i]) > 0) {
					return 1;
				}
			}
			for (int i = index; i < version2Array.length; i++) {
				if (Integer.parseInt(version2Array[i]) > 0) {
					return -1;
				}
			}
			return 0;
		} else {
			return diff > 0 ? 1 : -1;
		}
	}
}